/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proy1sistdistribuidos.modelo;

import java.util.ArrayList;
import java.util.List;
import proy1sistdistribuidos.control.advertisements.AdvertisementContenidoFisico;
import proy1sistdistribuidos.control.advertisements.AdvertisementImagenImpl;

/**
 *
 * @author Carlos Diaz Maya, Juan Felipe
 */
public class EstadoGeneral {

    public static final String SOLICITAR_PERMISO = "Solicitar permiso";
    public static final String ENVIAR_RESPUESTA_SOLICITUD_PERMISO = "Enviar respuesta solicitud permiso";
    public static final String RECIBIR_PERMISO = "Recibir permiso";
    public static final String SIN_PERMISO_CONSULTA = "Sin permiso consulta";
    public static final String INVOCAR_CONSULTA = "invocar consulta";
    public static final String PROCESAR_CONSULTA ="procesar consulta";
    public static final String CONSULTA_PROCESADA = "consulta procesada";
    public static final String INVOCAR_DESCARGA = "invocar descarga";
    public static final String PROCESAR_DESCARGA = "procesar descarga";
    public static final String ARCHIVO_DESCARGADO = "archivo descargado";
    public static final String LIBRERAR_PERMISO_OTORGADO = "liberar permiso otorgado";
    public static final String INACTIVO = "Inactivo";//salgo de la consulta - inicial
    

    private Long id;
    private String mensaje;//comando enviado
    private String nombreEstado;
    private String identificadorMaquina;
    private String identificadorFuente;
    private Long avanceDescarga;
    private String etiquetaImagen;
    //datos especificos para procesar consulta
    private List<AdvertisementImagenImpl> listaResultadosConsulta;
    private AdvertisementContenidoFisico imagenProcesada;
    private AdvertisementImagenImpl advertisementImagen;
    private byte[] imagenEntrada;
    private ArrayList<NodoRemoto> listaNodos;

    /**
     * @return the identificadorMaquina
     */
    public String getIdentificadorMaquina() {
        return identificadorMaquina;
    }

    /**
     * @param identificadorMaquina the identificadorMaquina to set
     */
    public void setIdentificadorMaquina(String identificadorMaquina) {
        this.identificadorMaquina = identificadorMaquina;
    }

    /**
     * @return the identificadorFuente
     */
    public String getIdentificadorFuente() {
        return identificadorFuente;
    }

    /**
     * @param identificadorFuente the identificadorFuente to set
     */
    public void setIdentificadorFuente(String identificadorFuente) {
        this.identificadorFuente = identificadorFuente;
    }

    /**
     * @return the avanceDescarga
     */
    public Long getAvanceDescarga() {
        return avanceDescarga;
    }

    /**
     * @param avanceDescarga the avanceDescarga to set
     */
    public void setAvanceDescarga(Long avanceDescarga) {
        this.avanceDescarga = avanceDescarga;
    }

    /**
     * @return the etiquetaImagen
     */
    public String getEtiquetaImagen() {
        return etiquetaImagen;
    }

    /**
     * @param etiquetaImagen the etiquetaImagen to set
     */
    public void setEtiquetaImagen(String etiquetaImagen) {
        this.etiquetaImagen = etiquetaImagen;
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the nombreEstado
     */
    public String getNombreEstado() {
        return nombreEstado;
    }

    /**
     * @param nombreEstado the nombreEstado to set
     */
    public void setNombreEstado(String nombreEstado) {
        this.nombreEstado = nombreEstado;
    }

    /**
     * @return the listaResultadosConsulta
     */
    public List<AdvertisementImagenImpl> getListaResultadosConsulta() {
        return listaResultadosConsulta;
    }

    /**
     * @param listaResultadosConsulta the listaResultadosConsulta to set
     */
    public void setListaResultadosConsulta(List<AdvertisementImagenImpl> listaResultadosConsulta) {
        this.listaResultadosConsulta = listaResultadosConsulta;
    }

    /**
     * @return the imagenProcesada
     */
    public AdvertisementContenidoFisico getImagenProcesada() {
        return imagenProcesada;
    }

    /**
     * @param imagenProcesada the imagenProcesada to set
     */
    public void setImagenProcesada(AdvertisementContenidoFisico imagenProcesada) {
        this.imagenProcesada = imagenProcesada;
    }

    /**
     * @return the imagenEntrada
     */
    public byte[] getImagenEntrada() {
        return imagenEntrada;
    }

    /**
     * @param imagenEntrada the imagenEntrada to set
     */
    public void setImagenEntrada(byte[] imagenEntrada) {
        this.imagenEntrada = imagenEntrada;
    }

    /**
     * @return the mensaje
     */
    public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje the mensaje to set
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    /**
     * @return the advertisementImagen
     */
    public AdvertisementImagenImpl getAdvertisementImagen() {
        return advertisementImagen;
    }

    /**
     * @param advertisementImagen the advertisementImagen to set
     */
    public void setAdvertisementImagen(AdvertisementImagenImpl advertisementImagen) {
        this.advertisementImagen = advertisementImagen;
    }

    /**
     * @return the listaNodos
     */
    public ArrayList<NodoRemoto> getListaNodos() {
        return listaNodos;
    }

    /**
     * @param listaNodos the listaNodos to set
     */
    public void setListaNodos(ArrayList<NodoRemoto> listaNodos) {
        this.listaNodos = listaNodos;
    }

}
